#include <stdio.h>

#ifndef _MISC_H_
#define _MISC_H_

//	==========================================
//	bit operations
#define setbit(x,y)             x|=(1<<y)
#define setbit_by_value(x,y,v)  x|=(v<<y)
#define clrbit(x,y)             x&=~(1<<y)
#define reversebit(x,y)         x^=(1<<y)
#define getbit(x,y)             ((x) >> (y)&1)

//  define some functions for operating the above bits
int get_bit(int a, int bit_num);


//  用于输出调试信息
#define printDebugInfo(mesg) { \
printf("\n\
# *********************************************************\n\
# FILE: %s \n\
# FUNC: %s \n\
# Line: %d \n\
# MESG: %s \n\
# *********************************************************\n",\
__FILE__, __FUNCTION__, __LINE__, \
mesg); }



int binstr2int(char *str, int *x);
void getFloatBin_Str( float num, char bin_str[] );
void getFloatBin_uint32( float num, uint32_t *bin );
void print_Float_as_Bin( float num );

// 判断字符串是否是表示曝光时间长度的
int isExpTimeTag( char *str );

// 从表示曝光时间长度的字符串中提取曝光时间,字符串采用类似"12345d567"这样的格式
double extractExpTime( char *str );

#endif  // _MISC_H_
